﻿using SIR.Common;

namespace SIR.Entities.Interfaces
{
	/// <summary>
	/// Defines a summary of the spectrum given a section of the image and a specific color definition
	/// </summary>
	public interface IColorSpectrum : IEntity
	{
		/// <summary>
		/// Gets or sets the average distance for the color spectrum
		/// </summary>
		double AverageDistance { get; set; }
		/// <summary>
		/// Gets or sets the percentange of the section that is within the distance to the color
		/// </summary>
		double PercentWithinDistance { get; set; }
		/// <summary>
		/// Gets or sets the average hue distances
		/// </summary>
		double AverageHueDistance { get; set; }
		/// <summary>
		/// Gets or sets the horizontal section of the image to which the spectrum is from
		/// </summary>
		int SectionX { get; set; }
		/// <summary>
		/// Gets or sets the vertical section of the image to which the spectrum is from
		/// </summary>
		int SectionY { get; set; }
		/// <summary>
		/// Gets or sets the identifier for the color definition
		/// </summary>
		long DefinitionId { get; set; }
		/// <summary>
		/// Gets or sets the image spectrum identifier
		/// </summary>
		long ImageAnalysisId { get; set; }
		/// <summary>
		/// Gets the color spectrum definition
		/// </summary>
		IColorSpectrumDefinition Definition { get; }
	}
}

